package com.langyue.lintcode.main;

import java.util.ArrayList;
import java.util.List;

/**
 * 这个问题中. 每个进程都有一个唯一的 PID(进程id) 和 PPID(父进程id)。每个进程只有一个父进程，但可能有一个或多个子进程，这就像一个树形结构。并且只有一个进程的PPID是0，这意味着这个进程没有父进程。所有的pid都是不同的正整数。
 */
public class StopProcess {
    public List<Integer> killProcess(List<Integer> pid, List<Integer> ppid, int kill) {
        // Write your code here
        List<Integer> result = new ArrayList<>();
        for (int i=0;i<ppid.size();i++){
            if (ppid.get(i)==kill){
                int killTemp = pid.get(i);
                List<Integer> kills = killProcess(pid, ppid, killTemp);
                result.addAll(kills);
            }
        }
        result.add(kill);
        return result;
    }
}
